//  useEffect  useEffect(setup, dependencies?)是 React 中用于处理副作用的钩子。并且useEffect 还在这里充当生命周期函数，在之前你可能会在类组件中使用 componentDidMount、componentDidUpdate 和 componentWillUnmount 来处理这些生命周期事件。
// setup：Effect处理函数,可以返回一个清理函数。组件挂载时执行setup,依赖项更新时先执行cleanup再执行setup,组件卸载时执行cleanup。

// dependencies(可选)：setup中使用到的响应式值列表(props、state等)。必须以数组形式编写如[dep1, dep2]。不传则每次重渲染都执行Effect。

import { useEffect, useRef } from "react";
const App = () => {
  const divRef = useRef<HTMLDivElement>(null);
  useEffect(() => {
    console.log("useEffect", divRef.current);
  }, []);
  return <div ref={divRef}>123</div>;
};

// 纯函数，没有副作用
// 1.输入决定输出：相同的输入永远会得到相同的输出。这意味着函数的行为是可预测的。
// 2.无副作用：纯函数不会修改外部状态，也不会依赖外部可变状态。因此，纯函数内部的操作不会影响外部的变量、文件、数据库等。
export default App;
